home *** CD-ROM | disk | FTP | other *** search
- #include "GifScan.h"
-
- Boolean RectInRect(Rect *r1, Rect *r2)
- {
- // Check if r1 is completely inside r2, must be in the same
- // coordinate system.
- return ( ((r1->left > r2->left) && (r1->right < r2->right)) &&
- ((r1->top > r2->top) && (r1->bottom < r2->bottom)) );
- }
-
- long GetGestaltResult(OSType gestaltSelector)
- {
- long gestaltResult;
-
- if ( Gestalt(gestaltSelector, &gestaltResult) == noErr )
- return(gestaltResult);
- else
- return(0);
- }
-
- // Compare two pascal-strings.
- short pcmp(StringPtr s1, StringPtr s2)
- {
- short i, len;
- char j;
-
- if ((len = s1[0]) > s2[0]) len = s2[0];
-
- for (i = 1; i <= len; ++i) {
- j = s1[i] - s2[i];
- if (j) return(j);
- }
-
- return(s1[0] - s2[0]);
- }
-
- // Return the length of the c-string
- short clen(char *cptr)
- {
- short i;
-
- for (i = 0; cptr[i]; ++i) {};
- return(i);
- }
-
- void p2c(StringPtr cptr)
- {
- unsigned char len;
-
- BlockMoveData(cptr + 1, cptr, len = *cptr);
- cptr[len] = 0;
- }
-
- // Convert a c-string to a pascal-string.
- void c2p(char *cptr)
- {
- char len;
-
- BlockMoveData(cptr, cptr + 1, len = clen(cptr));
- *cptr = len;
- }
-
-
- // Copy a c-string.
- char *ccpy(char *s1, char *s2)
- {
- char *c1, *c2;
-
- c1 = s1;
- c2 = s2;
- while ((*c1++ = *c2++) != 0) {};
- return(s1);
- }
-
- // Catenate two c-strings.
- char *ccat(char *s1, char *s2)
- {
- ccpy(s1 + clen(s1), s2);
- return(s1);
- }
-
- // Copy a pascal-string.
- void pcpy(StringPtr d, StringPtr s)
- {
- short i;
-
- i = *s;
- do {
- d[i] = s[i];
- } while (i--);
- }
-
- // Catenate two pascal-strings.
- void pcat(StringPtr d, StringPtr s)
- {
- short i, j;
-
- if (((j = s[0]) + d[0]) > 255)
- j = 255 - d[0];
- // Limit dest string to 255.
-
- for (i = 0; i < j;) d[++d[0]] = s[++i];
- }
-